home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / text / print / VirtPrinters2.lha / screen_printer_source / init.asm < prev    next >
Assembly Source File  |  1993-06-27  |  4KB  |  134 lines

  1. **********************************************************************
  2. *
  3. *       printer device functions
  4. *
  5. **********************************************************************
  6.  
  7.         SECTION         printer
  8.  
  9. *------ Included Files -----------------------------------------------
  10.  
  11.         INCLUDE         "exec/types.i"
  12.         INCLUDE         "exec/nodes.i"
  13.         INCLUDE         "exec/lists.i"
  14.         INCLUDE         "exec/memory.i"
  15.         INCLUDE         "exec/ports.i"
  16.         INCLUDE         "exec/libraries.i"
  17.  
  18.         INCLUDE         "macros.i"
  19.  
  20. *------ Imported Functions -------------------------------------------
  21.  
  22.         XREF_EXE        CloseLibrary
  23.         XREF_EXE        OpenLibrary
  24.         XREF            _AbsExecBase
  25.  
  26.  
  27.         XREF            _PEDData
  28.  
  29. *------ Exported Globals ---------------------------------------------
  30.  
  31.         XDEF            _Init
  32.         XDEF            _Expunge
  33.         XDEF            _Open
  34.         XDEF            _PD
  35.         XDEF            _PED
  36.         XDEF            _SysBase
  37.         XDEF            _DOSBase
  38.         XDEF            _GfxBase
  39.         XDEF            _IntuitionBase
  40.     XDEF        _myScrnHandle
  41.  
  42. **********************************************************************
  43.         SECTION         printer,DATA
  44. _PD             DC.L    0
  45. _PED            DC.L    0
  46. _SysBase        DC.L    0
  47. _DOSBase        DC.L    0
  48. _GfxBase        DC.L    0
  49. _IntuitionBase  DC.L    0
  50. _myScrnHandle    DC.L    0
  51.  
  52. **********************************************************************
  53.         SECTION         printer,CODE
  54. _Init:
  55.                 MOVE.L  4(A7),_PD
  56.                 LEA     _PEDData(PC),A0
  57.                 MOVE.L  A0,_PED
  58.                 MOVE.L  A6,-(A7)
  59.                 MOVE.L  _AbsExecBase,A6
  60.                 MOVE.L  A6,_SysBase
  61.  
  62. *           ;------ open the dos library
  63.                 LEA     DLName(PC),A1
  64.                 MOVEQ   #37,D0
  65.                 CALLEXE OpenLibrary
  66.                 MOVE.L  D0,_DOSBase
  67.                 BEQ     initDLErr
  68.  
  69. *           ;------ open the graphics library
  70.                 LEA     GLName(PC),A1
  71.                 MOVEQ   #37,D0
  72.                 CALLEXE OpenLibrary
  73.                 MOVE.L  D0,_GfxBase
  74.                 BEQ     initGLErr
  75.  
  76. *           ;------ open the intuition library
  77.                 LEA     ILName(PC),A1
  78.                 MOVEQ   #37,D0
  79.                 CALLEXE OpenLibrary
  80.                 MOVE.L  D0,_IntuitionBase
  81.                 BEQ     initILErr
  82.  
  83.                 MOVEQ   #0,D0
  84. pdiRts:
  85.                 MOVE.L  (A7)+,A6
  86.                 RTS
  87.  
  88. initPAErr:
  89.                 MOVE.L  _IntuitionBase,A1
  90.                 LINKEXE CloseLibrary
  91.  
  92. initILErr:
  93.                 MOVE.L  _GfxBase,A1
  94.                 LINKEXE CloseLibrary
  95.  
  96. initGLErr:
  97.                 MOVE.L  _DOSBase,A1
  98.                 LINKEXE CloseLibrary
  99.  
  100. initDLErr:
  101.                 MOVEQ   #-1,D0
  102.                 BRA.S   pdiRts
  103.  
  104. ILName:
  105.                 DC.B    'intuition.library'
  106.                 DC.B    0
  107. DLName:
  108.                 DC.B    'dos.library'
  109.                 DC.B    0
  110. GLName:
  111.                 DC.B    'graphics.library'
  112.                 DC.B    0
  113.                 DS.W    0
  114.  
  115.  
  116. *---------------------------------------------------------------------
  117. _Expunge:
  118.                 MOVE.L  _IntuitionBase,A1
  119.                 LINKEXE CloseLibrary
  120.  
  121.                 MOVE.L  _GfxBase,A1
  122.                 LINKEXE CloseLibrary
  123.  
  124.                 MOVE.L  _DOSBase,A1
  125.                 LINKEXE CloseLibrary
  126.  
  127.  
  128. *---------------------------------------------------------------------
  129. _Open:
  130.                 MOVEQ   #0,D0
  131.                 RTS
  132.  
  133.                 END
  134.